5  Transport networks

My passion for geospatial data and then urban data science was kindled by my desire to understand my own daily life. As a citizen of Wellington, I wanted to understand how the city worked and the subjectivity of my living experiences of the city. Were the buses really that bad? Was walking both a huge energy investment as well as one of the most beautiful experiences of living in this nature-rich city?

I regularly walk around my neighbourhood of Northland. The wind dishevels my hair as I take in the visual panoramas of the city, sea and hills while being serenaded shrieks of the kaka and the heavy whoosh of a kereru’s weighty wings. The extreme sensory scapes of Wellington are multi-sensory assault.

I wasn’t always an enthusiastic or willing walker. It took me years to enjoy the special walking conditions of the hilly city I call home. In fact, it took a few years of the comparatively boring walking in one of the flattest regions of the world, Cambridge (UK), for me to appreciate the rewarding experience of walking in Wellington.

The slow transition to becoming a walker in Wellington made me realise the challenge of converting this city to an active transport paradise is not an easy one. It was especially difficult to read reports promoting targets for trips made by walking or cycling when the natural topography of Wellington would restrict these activities to a small subset of Wellingtonians. Even more difficult to stomach was the lack of analyses that consider the challenge of topography for walking or cycling. This prompted to build my own analysis and my journey and learnings are what make me advocate this capability to all urban citizens who have their own questions.

5.1 Mobility fingerprint of a city

Our street are shared by several different modes - cars, walking, cycling, buses, trains, trams and new transport technologies like e-scooters. The mobility fingerprint of a city is the way street space is shared across the transport modes [1]. Cities like Portland and Copenhagen have streets that are pedestrian-only as well as streets that are split for pedestrians and cars (the typical configuration of road and footpath). Amsterdam, with its notable cycling culture has many streets / paths dedicated for cyclists only. By contrast, Phoenix has a majority of streets that are for cars alone!

The transport fingerprint of a city: the different ways in which transport modes share street space [1].

With a little coding experience in Python urbanists can generate the graph above or a new set for cities of their choice with the open source code associated with the paper by Natera et al. thanks to FOSS proponents in academia and extensive Openstreetmap tags.

5.2 Getting street network data

Openstreetmap (OSM) is the convenient way to get multi-modal transport networks. A simple filter of “highways” retrieves the known street network. Based on the extensive tag system of OSM, other filters are also possible e.g. getting only residential roads or state highways. Like buildings, LINZ also manages road data for New Zealand.

For larger scale, driving-related analyses of built roads, this is the best way to go. For multi-modal OSM data, consider a bulk download of all OSM data with osmextract in R. There are similar tools available in Python as well.

# load packages to get data
library(dplyr)
library(sf)
library(osmdata)
library(osmplotr)
source("R/centroid_bbox.R")

akl_bbox <- get_centroid_bounding_box(
  c("lat" = -36.85494696219434, "lng" = 174.76040843528585),
  distance = 1000,
  dist.unit = "m") %>% 
  get_bbox()

akl_roads_osm <- opq(akl_bbox) %>%
  add_osm_feature("highway") %>% 
  osmdata_sf()

akl_roads_osm_lines <- akl_roads_osm$osm_lines
# load plotting library
library(tmap)
tmap_options(check.and.fix = TRUE)

# plot buildings on map
tmap_mode("plot")
tm_shape(akl_roads_osm_lines) + 
  tm_lines()

Figure 5.1: Map of buildings in Central Auckland from OpenStreetMap (OSSM).

5.3 Exploring with routing

Routing and navigation go together for most urbanites. We regularly route our proposed journeys with apps like Google Maps to understand transport options and travel distances and times. Once the route has been chosen, the apps cleverly help us navigate our journeys, providing assistance in real time including re-routing when we “go wrong” according to the chosen route. This hybrid of the physical and digital is so entrenched that we barely give it a second thought.

The same routing algorithms run by Google (and others) can be reproduced with FOSS and open data. Instead of using a single route for journey planning or navigation, we instead use it for analysis. The simplest routing-based analysis is calculating catchment areas around a central location.

Catchments up to 600m for Central Park play area in Wellington. Analysis with Python and the osmnx package. Code here.

Catchments visually summarise areas on a map that are equidistant along the transport network to some point of interest e.g. a playground. Routes are calculated as shortest paths from every intersection in the surrounding street network to this point. Catchments can be converted to the more well-used “isochrones”, which summarises by travel time, using an average speed (e.g. 5km/h average walking speed).

5.4 Urban flows

Many routes to one place can also be summarised as flows by counting the number of unique routes on any given link of the network. Filtering these flows can identify arterial streets and roads. In Wellington, it’s easy the see the two state highways converging in from the north. We can also see the main roads leading down from the suburbs down to the arteries leading to the station.

Arterial roads in Wellington. Analysis with Python and the osmnx and pandana packages. Code here.

5.5 Walking in hilly Wellington

We all have our passions as urbanists. For me, it’s how walking and cycling can become a bigger part of our daily lives. The change is already in motion but cycling and walking trips still dwarf in comparison to driving. Like with any urban problem, understanding the present (and often the past) is key to shaping the future. If we want to convert more trips from driving to walking (to reduce emissions) or just encourage more walking (for health reasons), we need to explore the current state - especially the barriers.

Anyone familiar with Wellington knows that the city is very hilly! This poses considerable challenges for walking - even to a local amenity like a council playground. Accounting for travel times on hilly terrain shows that there is considerable variation for residents. Even a well-established suburb like Karori with multiple playgrounds has a high average due to considerably lower access for people who live on the hillier outskirts.

Local walkability in Wellington suburbs. Individual values for suburban walkability for every street intersection are shown in the visualisation for Karori. The forest plot on the right summarises the average for every suburb and the grey area summarises the average across all suburbs.

5.6 Urban accessibility

Newer developments or lower price in housing starved cities are built around the fringes and thus find themselves too far from amenities making driving the only plausible option. Changing to public transit from driving has its own challenges. Access is high along routes but without an extensive network, public transit cannot beat the homogeneous access for cars.

Travel times to a tertiary hospitql in São Paulo by car vs. public transit. Image reproduced from Introduction to urban accessibility [2]. Figure made with the accessibility package.

How can we provision better access within neigbourhoods via non-driving modes to reduce our impact on the planet as well as improve our health and safety? These questions are core to our lives and wellbeing. We just need more people analysing and thinking of better options for the future.

5.7 Learning tips

Street network analysis, empowered by routing-based methods, is a powerful tool in any urbanist’s arsenal as it connects so closely to our real-world lives. However, there is a learning curve to understanding the methods and then applying them. My recommendation is to spend time with catchment and isochrone analyses connecting data visualisations to real world experience.

5.8 Resources